package com.myqf.d6_lambda_函数式接口_方法引用.monday.lambda.方法引用;


import java.util.Comparator;

/**
 * 作者：黎杭
 * 日期：2020/2/17
 */
public class Test2_类名_静态方法名 {
    public static void main(String[] args) {
        // 先来一个消费型的函数式接口
        Comparator<Integer> comparator = (o1, o2) -> Integer.compare(o1, o2);
        Comparator<Integer> comparator2 = Integer::compare;// 继续用类名::静态方法名称

        int compare = comparator.compare(88, 88);// 第1种方法测试
        System.err.println(compare);

        int compare1 = comparator2.compare(88, 88);// 第2种方法测试
        System.err.println(compare1);

        /*
        比较两个数字大小
         */
        //匿名内部类
        int a = new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return Integer.compare(o1,o2);
            }
        }.compare(10,11);

        //lambda
        int b = ((Comparator<Integer>) (o1, o2) -> Integer.compare(o1, o2)).compare(10,11);

        //方法引用简写
        int c = ((Comparator<Integer>) Integer::compare).compare(10,11);
    }
}
